<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <body>
        <ui:composition template="./TemplatePrincipal.xhtml">
            <ui:define name="top">
            </ui:define>
            <ui:define name="left">
                <h:form>
                    <p:commandButton action="PrincipalMenu" value="Menu Principal"/>
                </h:form>
            </ui:define>
            <ui:define name="content">
                <f:view>
                    <h:form>
                        <h1><h:outputText value="Libro"/></h1>
                        <h1><h:outputText value="Create/Edit"/></h1>
                        <p:panelGrid columns="2">
                            <h:outputLabel value="Clave:" for="clave" />
                            <p:inputText id="clave" value="#{bookBean.book.clave}" title="Clave" required="true" requiredMessage="The Clave field is required.">
                                <f:validateLength minimum="3" maximum="10"/>
                                <!-- Aqui va la validacion del la expresion regular -->
                            </p:inputText>
                            <h:outputLabel value="Nombre:" for="nombre" />
                            <p:inputText id="nombre" value="#{bookBean.book.nombre}" title="Nombre" required="true" requiredMessage="The Nombre field is required.">
                                <f:validateRegex pattern="^[a-zA-Z\s]+$"/>
                            </p:inputText>
                            <h:outputLabel value="Isbn:" for="isbn" />
                            <p:inputText id="isbn" value="#{bookBean.book.isbn}" title="Isbn" required="true" requiredMessage="The Isbn field is required.">
                                <f:validateLength minimum="3" maximum="15"/>
                                <f:validateRegex pattern="[a-z]+[0-9]?"/>
                            </p:inputText>
                            <h:outputLabel value="FechaRegistro:" for="fechaRegistro" />
                            <p:calendar value="#{bookBean.book.fechaRegistro}" id="cal" showButtonPanel="true" required="true" requiredMessage="The Isbn field is required."/>  
                            <h:outputLabel value="Paginas:" for="paginas" />
                            <p:inputText id="paginas" value="#{bookBean.book.paginas}" title="Paginas" >
                                <f:validateRegex pattern="[0-9]+"/>
                            </p:inputText>
                            
                            <h:outputLabel value="Estado:" for="estado" />
                            <p:inputText id="estado" value="#{bookBean.book.estado}" title="Estado" required="true" requiredMessage="The Estado field is required."/>
                            <h:outputLabel value="Disponible:" for="disponible" />
                            <p:inputText id="disponible" value="#{bookBean.book.disponible}" title="Disponible" required="true" requiredMessage="The Disponible field is required."/>
                            <h:outputLabel value="IdAutor:" for="idAutor" />
                            <p:selectOneMenu id="idAutor" value="#{bookBean.authorSeleccionado}" 
                                             title="IdAutor" required="true" 
                                             requiredMessage="The IdAutor field is required.">
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{authorBean.lista}" var="item"
                                               itemLabel="#{item.nombre}#{item.apellidoPaterno}#{item.apellidoMaterno}" 
                                               itemValue="#{item.id}"/>
                            </p:selectOneMenu>
                        </p:panelGrid>

                        <p:panelGrid columns="3">
                            <p:outputLabel value="IdCategoria:" for="idCategoria" />
                            <p:selectOneMenu id="idCategoria" value="#{bookBean.idCategoria}" 
                                             title="IdCategoria" required="true" 
                                             requiredMessage="The IdCategoria field is required.">
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{categoryBean.listCategoria}" var="item"
                                               itemValue="#{item.id}"
                                               itemLabel=" #{item.clave} #{item.color}"/>
                            </p:selectOneMenu>
                            <p:commandButton value="Agregar Categoria" 
                                             actionListener="#{bookBean.agregarCategoria}"/>
                        </p:panelGrid>

                        <h1><h:outputText value="Lista Categorias"/></h1>
                        <p:dataTable value="#{bookBean.listCategory}" var="item">
                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Id"/>
                                </f:facet>
                                <h:outputText value="#{item.id}"/>
                            </p:column>
                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Clave"/>
                                </f:facet>
                                <h:outputText value="#{item.clave}"/>
                            </p:column>
                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Descripcion"/>
                                </f:facet>
                                <h:outputText value="#{item.descripcion}"/>
                            </p:column>
                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Color"/>
                                </f:facet>
                                <h:outputText value="#{item.color}"/>
                            </p:column>
                            <p:column>
                                <f:facet name="header">
                                    <h:outputText value="Eliminar"/>
                                </f:facet>
                                <p:commandButton value="Eliminar"
                                                 actionListener="#{bookBean.eliminarCategoriaDeLista}"/>
                            </p:column>
                        </p:dataTable>
                        <p:commandButton action="#{bookBean.accionAceptar}" value="Aceptar"/>
                        <p:commandButton action="LibroLista" value="Cancelar" immediate="true"/>
                    </h:form>

                </f:view>

            </ui:define>

        </ui:composition>

    </body>
</html>
